﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DPS.Prototype.Policy;

namespace DPS.Prototype.PolicyBase.Manager
{
    /// <summary>
    /// The only role,that controll the competitor's alliance
    /// </summary>
    public sealed class ProdCompetitorAllianceManager
    {
        IProdCompetitorAlliance _alliance;

        public ProdCompetitorAllianceManager()
        {
            this._alliance = new DefaultProdCompetitorAlliance();
        }
        private static ProdCompetitorAllianceManager _innerInstance = new ProdCompetitorAllianceManager();

        public static ProdCompetitorAllianceManager Current
        {
            get { return ProdCompetitorAllianceManager._innerInstance; }
        }

        public IProdCompetitorAlliance Alliance
        {
            get { return this._alliance; }
        }

        public int ProdCompetiorCounts
        {
            get { return this.Alliance.GetAllProdCompetitors().Count; }
        }
    }
}
